<rss version="2.0" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
    <channel>
        <title>Business Analyst Community &amp; Resources | Modern Analyst</title> 
        <link>https://modernanalyst.com</link> 
        <description>RSS feeds for Business Analyst Community &amp; Resources | Modern Analyst</description> 
        <ttl>60</ttl> <item>
    <comments>https://modernanalyst.com/Community/ModernAnalystBlog/tabid/181/ID/1244/Root-Cause-Analysis-Using-the-Five-Whys.aspx#Comments</comments> 
    <slash:comments>3</slash:comments> 
    <wfw:commentRss>https://modernanalyst.com/DesktopModules/DnnForge%20-%20NewsArticles/RssComments.aspx?TabID=181&amp;ModuleID=870&amp;ArticleID=1244</wfw:commentRss> 
    <trackback:ping>https://modernanalyst.com:443/DesktopModules/DnnForge%20-%20NewsArticles/Tracking/Trackback.aspx?ArticleID=1244&amp;PortalID=0&amp;TabID=181</trackback:ping> 
    <title>Root Cause Analysis: Using the Five Whys</title> 
    <link>https://modernanalyst.com/Community/ModernAnalystBlog/tabid/181/ID/1244/Root-Cause-Analysis-Using-the-Five-Whys.aspx</link> 
    <description>&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;Business Analysts are often thrown into projects to help gather requirements around a known, defined problem.&amp;nbsp; Other times we&amp;rsquo;re asked to analyze the current state of a certain process, organization, system and look for ways to improve areas that are clearly lacking.&amp;nbsp; I&amp;rsquo;ve noticed that when we are brought on a project, the problems described are likely only surface symptoms to large issues.&amp;nbsp; For example:&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-left: 40px&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;span style=&quot;font-family: Symbol&quot;&gt;&amp;middot;&lt;span style=&quot;font: 7pt &#39;Times New Roman&#39;; font-size-adjust: none; font-stretch: normal; -x-system-font: none&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;This system can&amp;rsquo;t handle more than X transactions per hour and it&amp;rsquo;s killing our procurement process&amp;rsquo; performance&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-left: 40px&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;span style=&quot;font-family: Symbol&quot;&gt;&amp;middot;&lt;span style=&quot;font: 7pt &#39;Times New Roman&#39;; font-size-adjust: none; font-stretch: normal; -x-system-font: none&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;This organizational unit doesn&amp;rsquo;t have the right staff to be able to keep up with the demands being placed on them&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-left: 40px&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;span style=&quot;font-family: Symbol&quot;&gt;&amp;middot;&lt;span style=&quot;font: 7pt &#39;Times New Roman&#39;; font-size-adjust: none; font-stretch: normal; -x-system-font: none&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;This process is obsolete and overlaps with three of our other processes&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;While it&amp;rsquo;s great to have a problem identified, it is well worth the effort to ensure that you are &lt;a href=&quot;https://www.modernanalyst.com/Resources/Articles/tabid/115/ID/5914/Root-Cause-Analysis-Using-a-Fishbone-Diagram-and-the-Five-Whys.aspx&quot;&gt;analyzing a root cause problem&lt;/a&gt; and not only a symptom of a greater issue.&amp;nbsp; If you don&amp;rsquo;t do this step, you may end up using lots of resources at what amounts to a band-aid solution.&amp;nbsp; &lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;A great technique to help delve into a problem and identify possible root causes is the &amp;lsquo;&lt;a href=&quot;https://www.modernanalyst.com/Resources/BusinessAnalystHumor/tabid/218/ID/5631/5_Whys_in_Requirements_Workshops.aspx&quot;&gt;Five Whys&lt;/a&gt;&amp;rsquo;. &amp;nbsp;When an issue is presented you ask the question &amp;lsquo;why did that issue occur?&amp;rsquo;&amp;nbsp; Once you have your answer, ask the question &amp;lsquo;and why is that so?&amp;rsquo; Continue until you have asked &amp;lsquo;why?&amp;rsquo; at least five times, even if you felt you&amp;rsquo;ve reached the root cause after 2 or 3 responses.&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;a href=&quot;http://www.joelonsoftware.com/&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;Joel Spolsky&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: small&quot;&gt; details a good example of how using the Five Whys &lt;/span&gt;&lt;a href=&quot;http://www.inc.com/magazine/20091201/when-and-how-to-micromanage.html&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;can elicit solutions to underlying problems&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: small&quot;&gt;.&amp;nbsp; Recently I came across a similar example with a client (certain details have been changed).&amp;nbsp; &lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;b&gt;Issue: &lt;/b&gt;Employees did not receive their pay stubs on pay day.&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-left: 40px&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;span style=&quot;font-family: Symbol&quot;&gt;&amp;middot;&lt;span style=&quot;font: 7pt &#39;Times New Roman&#39;; font-size-adjust: none; font-stretch: normal; -x-system-font: none&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;b&gt;Why? &lt;/b&gt;Because the printing system failed the day before pay day.&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-left: 40px&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;span style=&quot;font-family: Symbol&quot;&gt;&amp;middot;&lt;span style=&quot;font: 7pt &#39;Times New Roman&#39;; font-size-adjust: none; font-stretch: normal; -x-system-font: none&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;b&gt;Why?&lt;/b&gt; Because the system could not recover from a hardware fault.&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-left: 40px&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;span style=&quot;font-family: Symbol&quot;&gt;&amp;middot;&lt;span style=&quot;font: 7pt &#39;Times New Roman&#39;; font-size-adjust: none; font-stretch: normal; -x-system-font: none&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;b&gt;Why?&lt;/b&gt; Because the system uses outdated hardware that has no automatic redundant backup.&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-left: 40px&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;span style=&quot;font-family: Symbol&quot;&gt;&amp;middot;&lt;span style=&quot;font: 7pt &#39;Times New Roman&#39;; font-size-adjust: none; font-stretch: normal; -x-system-font: none&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;b&gt;Why?&lt;/b&gt; Because the system hasn&amp;rsquo;t been replaced as it hasn&amp;rsquo;t been identified as a high enough priority to allocate budget to its replacement in the current economic climate.&lt;/span&gt;&lt;/p&gt;

&lt;p style=&quot;margin-left: 40px&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;span style=&quot;font-family: Symbol&quot;&gt;&amp;middot;&lt;span style=&quot;font: 7pt &#39;Times New Roman&#39;; font-size-adjust: none; font-stretch: normal; -x-system-font: none&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;b&gt;Why?&lt;/b&gt; Because the organization does not have an enterprise planning methodology that weighs the risks of current operational systems failing versus the criticality of these systems and the impact of such a failure.&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;Some people may have been tempted to stop after the third or fourth question.&amp;nbsp; We could have rushed to find a way to set up either an automatic failover system or to increase the availability of resources to replace legacy hardware in the event of a failure.&amp;nbsp; Or we could have determined that the system needs to be replaced and develop a business case to do so.&amp;nbsp; But the overall challenge that faces the organization is a way to assess the relative risks of failure for all enterprise applications and come up with mitigation strategies in light of the available funds to maintain and replace systems going forward and to holistically evaluate the replacement of such systems over time.&lt;/span&gt;&lt;/p&gt;

&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;It may still be a good idea to address the symptoms found during this activity.&amp;nbsp; In the end the root cause(s) that you identify may be deemed to be outside of the domain of you and/or your project team&amp;rsquo;s responsibility.&amp;nbsp; The key is to recognize that there are potentially larger issues that may need to be addressed; otherwise this issue may resurface with different symptoms in the future and to pass along this information to those who can act on it.&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&quot;font-size: small&quot;&gt;The Five Whys isn&amp;rsquo;t the only tool you may want to use to help identify potential root causes (here are &lt;a href=&quot;http://www.bill-wilson.net/b73.html&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;some&lt;/span&gt;&lt;/a&gt;&amp;nbsp;&lt;a href=&quot;http://www.isixsigma.com/library/content/c020610a.asp&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;suggestions&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: small&quot;&gt; on how to &lt;/span&gt;&lt;a href=&quot;http://www.qualitydigest.com/inside/quality-insider-column/root-cause-analysis-addressing-some-limitations-five-whys.html&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;improve&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;span&gt; its efficacy at finding root causes), but I believe that it can be used to quickly assess whether a problem that has already been defined may in fact be a symptom of greater hidden issues.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;span&gt;Jarett Hailes&lt;br /&gt;
Larimar Consulting Inc.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span&gt;&lt;a href=&quot;http://www.larimarconsulting.com&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;http://www.larimarconsulting.com&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
</description> 
    <dc:creator>Jarett Hailes</dc:creator> 
    <pubDate>Tue, 26 Jan 2010 00:55:00 GMT</pubDate> 
    <guid isPermaLink="false">f1397696-738c-4295-afcd-943feb885714:1244</guid> 
    
</item>
<item>
    <comments>https://modernanalyst.com/Community/ModernAnalystBlog/tabid/181/ID/1190/Eliciting-Business-Rules-with-an-Eye-for-Data-Requirements.aspx#Comments</comments> 
    <slash:comments>0</slash:comments> 
    <wfw:commentRss>https://modernanalyst.com/DesktopModules/DnnForge%20-%20NewsArticles/RssComments.aspx?TabID=181&amp;ModuleID=870&amp;ArticleID=1190</wfw:commentRss> 
    <trackback:ping>https://modernanalyst.com:443/DesktopModules/DnnForge%20-%20NewsArticles/Tracking/Trackback.aspx?ArticleID=1190&amp;PortalID=0&amp;TabID=181</trackback:ping> 
    <title>Eliciting Business Rules with an Eye for Data Requirements</title> 
    <link>https://modernanalyst.com/Community/ModernAnalystBlog/tabid/181/ID/1190/Eliciting-Business-Rules-with-an-Eye-for-Data-Requirements.aspx</link> 
    <description><div style="margin: 0in 0in 10pt">
<p style="text-align: left"><em><strong><span style="font-size: small"><span style="font-size: small">“Business Rules and Data Requirements: Pulling in Tandem for Success” was the title of another session I attended at the <a target="_blank" rel="nofollow" href="http://www.iirusa.com/projectworldnovember"><span style="font-size: small">WCBA </span></a>conference.&#160;Mary Gorman, Senior Associate with EBG Consulting, focused on business rules and their relationship to data in the context of requirements elicitation. </span></span></strong></em></p>
<p style="text-align: center"><i><span style="font-size: small">Copyright Notice: Major portions of this blog post&#160;are from materials&#160;© EBG Consulting, Inc., 2009 Used with permission on ModernAnalyst.com</span></i></p>
<p><span style="font-size: small">Before even diving into the mean of the presentation, Mary stressed the importance of realizing that no one requirements view or model is enough, by itself, do understand the requirements of a given system.</span></p>
<div style="margin: 0in 0in 10pt"><span style="font-size: small">She covered again the four key requirements viewpoints:</span></div>
<ul>
    <li><span style="font-size: small"><b><span style="color: #444444">Behavior</span></b><span style="color: #444444">: e.g. process, action, function, task, script </span></span></li>
    <li><span style="font-size: small"><b><span style="color: #444444">Structure</span></b><span style="color: #444444">: e.g. information, data, object </span></span></li>
    <li><span style="font-size: small"><b><span style="color: #444444">Dynamics</span></b><span style="color: #444444">: e.g. time, lifecycles </span></span></li>
    <li><span style="font-size: small"><b><span style="color: #444444">Control</span></b><span style="color: #444444">: e.g. business rules – the intersection of Behavior, Structure, and Dynamics</span> </span></li>
</ul>
<div style="margin: 0in 0in 10pt; text-align: center"><span style="font-size: small"><img height="421" alt="Requirements Viewpoints" width="559" align="middle" border="0" src="/Portals/0/images/ebg-requirements-viewpoints.png" /></span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small">All these four views are very important and rely on each other to provide a holistic perspective of the requirements.</span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small">They key takeaways, for me,&#160;from the sessions were:</span></div>
<ul>
    <li><span style="font-size: small">Process/behavior requirements cannot stand by themselves but instead they trace to data and business rules (just process sis like sitting on a one legged stool) </span></li>
    <li><span style="font-size: small">There is great risk when performing single-dimension requirements elicitation focusing on only one of the requirement viewpoints:&#160;business rules alone, business data alone, business process alone, etc. </span></li>
</ul>
<div style="margin: 0in 0in 10pt"><span style="font-size: small">That’s why you don’t see too many dedicated “Business Rule Analysts” or “Business Process Analyst”.&#160;The analyst must be a generalist or, as Scott Ambler likes to say a “specializing generalist” emphasizing that while you might want to specialize and be proficient in one or two disciplines (like business rules analysis, process analysis, etc.) you must also have a good understanding of all the other&#160;business analysis dimensions.&#160;Focusing on one area alone is like trying to sit on a one legged stool… you’ll be on the floor before you know it.</span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small"><b><u>Identify Business Rules</u></b></span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small">When eliciting requirements, it is great if you are able to identify business rules as soon as you hear them even they might not be labeled as such by your stakeholders.&#160;To accomplish this, Mary suggests that the analysts watch for certain key words which serve as business rule giveaways.</span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small">Here are some of the business rules clues:</span></div>
<ul>
    <li><span style="font-size: small">classify, </span></li>
    <li><span style="font-size: small">determine, </span></li>
    <li><span style="font-size: small">compare, </span></li>
    <li><span style="font-size: small">assess, </span></li>
    <li><span style="font-size: small">evaluate, </span></li>
    <li><span style="font-size: small">must, </span></li>
    <li><span style="font-size: small">defined as, </span></li>
    <li><span style="font-size: small">must not, </span></li>
    <li><span style="font-size: small">calculated as, </span></li>
    <li><span style="font-size: small">must only, </span></li>
    <li><span style="font-size: small">If … then … </span></li>
    <li><span style="font-size: small">etc. </span></li>
</ul>
<div style="margin: 0in 0in 10pt"><span style="font-size: small"><b><u>Business Rule Classification</u></b></span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small"><b>Term Rule</b>: a business rules which defines a term of the business….&#160;In every business domain it is critical to document all the rules defining the vocabulary to be used on the project.</span></div>
<div style="margin: 0in 0in 10pt 40px"><span style="font-size: small"><u>Example 1</u>: A <i>Customer</i> is defined as an individual or organization who purchased a product in our store.</span></div>
<div style="margin: 0in 0in 10pt 40px"><span style="font-size: small"><u>Example 2</u>: A <i>Gift Card</i> is defined as a product sold by our store that in turn can be used as a payment for other purchases.</span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small">As you can probably guess, your project glossary is a set of term business rules.&#160;</span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small">By the way, for more details on business rules in the context of requirements elicitation process check out the </span><a href="http://www.modernanalyst.com/Resources/Books/tabid/88/articleType/ArticleView/articleId/776/The_Software_Requirements_Memory_Jogger_A_Pocket_Guide_to_Help_Software_And_Business_Teams_Develop_And_Manage_Requirements_Memory_Jogger.aspx"><span style="font-size: small">The Software Requirements Memory Jogger</span></a><span style="font-size: small">.&#160;</span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small"><b>Fact Rule</b>: Is a business rule which is part of the “fact model” (think logical data model) which outlines our understanding of truth related to previously identified terms.&#160;&#160;</span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small">Article 3.2 of the Business Rules Manifesto states: <i>“Terms express business concepts; facts make assertions about these concepts; rules constrain and support these facts.”</i></span></div>
<div style="margin: 0in 0in 10pt 40px"><span style="font-size: small"><u>Example 1</u>: A Purchase is paid for by Gift Card, a Gift Card pays for a Purchase (shows the relationship between Purchase and Gift Card).</span></div>
<div style="margin: 0in 0in 10pt 40px"><span style="font-size: small"><u>Example 2</u>: A purchase may be paid by one or more Gift Cards, A Gift Card may pay for one or more Purchase (shows the cardinality between Purchase and Gift Card).</span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small">As you can see from the above two examples, fact rules are really facts which are generally documented and captured by logical data models of your system.</span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small"><img height="110" alt="Business Entity Relationship Example" width="459" border="0" src="/Portals/0/images/ebg-business-entity-relationship-example.png" /></span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small">This example also reinforces the concept that while doing analysis of the business rules you will discover <b><i>data requirements</i></b> (business entities and their attributes) such as: customer, customer e-mail address, gift card, gift card balance (entity vs. attribute).</span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small">It is not possible to analyze business rules and not consider data requirements:</span></div>
<ul>
    <li><span style="font-size: small">Fact Rule: a customer has a name and address </span></li>
    <li><span style="font-size: small">Data Attribute: customer first name, customer last name, customer semail address (attributes are atomic – cannot be broken down any further) </span></li>
</ul>
<div style="margin: 0in 0in 10pt"><span style="font-size: small"><b>Constraint Rule:</b> &#160;is a business rule which places a constraint on data entities or data attributes.</span></div>
<div style="margin: 0in 0in 10pt 40px"><span style="font-size: small"><u>Example</u>: A Gift Card’s expiration date must be equal or greater than the Purchase’s purchase date.</span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small">Again, from the rule above you’ll see that we just discovered a <i>data requirement</i> to track and store yet another piece of data =&gt; Gift Card Attribute:&#160;expiration date (we need to remember the date in order to be able to enforce the constraint rule).</span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small"><b>Derivation Rule</b>: Is a business rule which explains how new data may be derived from other data.&#160;Think of these as calculations.</span></div>
<div style="margin: 0in 0in 10pt 40px"><span style="font-size: small"><u>Example</u>: Gift card expiration date is calculated as Gift Card activated date plus 365 days.&#160;</span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small">And, of course, here is another new <i>data requirement</i> -we need to store yet another Gift Card Attribute: activation date.</span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small">Did you see how rules drive data – you discover data as you discover and document the rules.</span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small"><b>Data Attribute Rule</b>: Is a business rule which provides constraints on data attributes.</span></div>
<div style="margin: 0in 0in 10pt 40px"><span style="font-size: small"><u>Example 1</u>: Customer’s middle initial is an optional attribute when of purchasing a Gift Card.</span></div>
<div style="margin: 0in 0in 10pt 40px"><span style="font-size: small"><u>Example 2</u>: Gift Card Status has four allowable options: Purchased, Activated, Expired, and Depleted.</span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small">Mary suggested using a table as one option for capturing and documenting <i>data attribute rules</i>, such as:</span></div>
<p>
<table cellspacing="0" cellpadding="0" border="1" style="border-right: medium none; border-top: medium none; border-left: medium none; border-bottom: medium none; border-collapse: collapse">
    <tbody>
        <tr>
            <td valign="top" width="96" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: black 1pt solid; padding-left: 5.4pt; padding-bottom: 0in; border-left: black 1pt solid; width: 71.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small"><b>Attribute Name</b></span></div>
            </td>
            <td valign="top" width="98" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: black 1pt solid; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 73.15pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small"><b>Definition</b></span></div>
            </td>
            <td valign="top" width="95" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: black 1pt solid; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 71.2pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small"><b>Required</b></span></div>
            </td>
            <td valign="top" width="92" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: black 1pt solid; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 68.65pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small"><b>Allowed Values</b></span></div>
            </td>
            <td valign="top" width="76" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: black 1pt solid; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 56.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small"><b>Data Type</b></span></div>
            </td>
            <td valign="top" width="98" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: black 1pt solid; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 73.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small"><b>Maximum Value</b></span></div>
            </td>
            <td valign="top" width="85" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: black 1pt solid; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 63.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small"><b>… &lt;insert your own columns&gt;</b></span></div>
            </td>
        </tr>
        <tr>
            <td valign="top" width="96" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: black 1pt solid; width: 71.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">Customer first name</span></div>
            </td>
            <td valign="top" width="98" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 73.15pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">…</span></div>
            </td>
            <td valign="top" width="95" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 71.2pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">Yes – when creating a new customer</span></div>
            </td>
            <td valign="top" width="92" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 68.65pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">n/a</span></div>
            </td>
            <td valign="top" width="76" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 56.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">Alpha</span></div>
            </td>
            <td valign="top" width="98" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 73.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">n/a</span></div>
            </td>
            <td valign="top" width="85" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 63.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">…</span></div>
            </td>
        </tr>
        <tr>
            <td valign="top" width="96" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: black 1pt solid; width: 71.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">Customer last name</span></div>
            </td>
            <td valign="top" width="98" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 73.15pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">…</span></div>
            </td>
            <td valign="top" width="95" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 71.2pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">Yes – when creating a new customer</span></div>
            </td>
            <td valign="top" width="92" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 68.65pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">n/a</span></div>
            </td>
            <td valign="top" width="76" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 56.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">Alpha</span></div>
            </td>
            <td valign="top" width="98" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 73.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">n/a</span></div>
            </td>
            <td valign="top" width="85" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 63.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">…</span></div>
            </td>
        </tr>
        <tr>
            <td valign="top" width="96" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: black 1pt solid; width: 71.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">Customer middle initial</span></div>
            </td>
            <td valign="top" width="98" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 73.15pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">…</span></div>
            </td>
            <td valign="top" width="95" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 71.2pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">No</span></div>
            </td>
            <td valign="top" width="92" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 68.65pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">n/a</span></div>
            </td>
            <td valign="top" width="76" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 56.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">Alpha</span></div>
            </td>
            <td valign="top" width="98" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 73.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">n/a</span></div>
            </td>
            <td valign="top" width="85" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 63.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">…</span></div>
            </td>
        </tr>
        <tr>
            <td valign="top" width="96" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: black 1pt solid; width: 71.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">Gift card purchase amount</span></div>
            </td>
            <td valign="top" width="98" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 73.15pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">…</span></div>
            </td>
            <td valign="top" width="95" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 71.2pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">No</span></div>
            </td>
            <td valign="top" width="92" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 68.65pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">n/a</span></div>
            </td>
            <td valign="top" width="76" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 56.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">Currency</span></div>
            </td>
            <td valign="top" width="98" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 73.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">n/a</span></div>
            </td>
            <td valign="top" width="85" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 63.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">…</span></div>
            </td>
        </tr>
        <tr>
            <td valign="top" width="96" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: black 1pt solid; width: 71.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">Gift card status</span></div>
            </td>
            <td valign="top" width="98" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 73.15pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">…</span></div>
            </td>
            <td valign="top" width="95" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 71.2pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">Yes</span></div>
            </td>
            <td valign="top" width="92" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 68.65pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">Purchased,</span></div>
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">Activated,</span></div>
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">Expired,</span></div>
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">Depleted</span></div>
            </td>
            <td valign="top" width="76" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 56.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">n/a</span></div>
            </td>
            <td valign="top" width="98" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 73.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">n/a</span></div>
            </td>
            <td valign="top" width="85" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 63.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">…</span></div>
            </td>
        </tr>
        <tr>
            <td valign="top" width="96" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: black 1pt solid; width: 71.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">Gift card original balance</span></div>
            </td>
            <td valign="top" width="98" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 73.15pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">…</span></div>
            </td>
            <td valign="top" width="95" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 71.2pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">Yes</span></div>
            </td>
            <td valign="top" width="92" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 68.65pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">n/a</span></div>
            </td>
            <td valign="top" width="76" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 56.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">Currency</span></div>
            </td>
            <td valign="top" width="98" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 73.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">$1,000.00</span></div>
            </td>
            <td valign="top" width="85" style="border-right: black 1pt solid; padding-right: 5.4pt; border-top: #f0f0f0; padding-left: 5.4pt; padding-bottom: 0in; border-left: #f0f0f0; width: 63.7pt; padding-top: 0in; border-bottom: black 1pt solid; background-color: transparent">
            <div style="margin: 0in 0in 0pt; line-height: normal"><span style="font-size: small">…</span></div>
            </td>
        </tr>
    </tbody>
</table>
</p>
<div style="margin: 0in 0in 10pt"><span style="font-size: small">Of course, you can add additional columns to capture more detailed requirements about your data attributes such as: format/mask, minimum value, range of values, etc.</span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small"><u><b>Separation of Concerns</b></u></span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small">Do your data definitions belong in your use case (or other behavioral artifact)?</span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small">Do your business rules belong in your use case (or other behavioral artifact)?</span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small">NO!&#160;They need to be in a separate/shared repository so that they can be reused.</span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small">One of the key concepts which were stressed in this session was the <i>separation of concerns</i>.&#160;While you may be doing it all during the requirements process: rules, data, process/behavior you also need to ensure that you have a way to manage the project’s processes, data, business rules, etc. as separate (yet interconnected) models rather than dumping your requirements into one catch-all document or format.</span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small"><span>In her session, Mary Gorman covered many other topics related to business rules but this post would have been even longer.&#160; Sorry&#160;- but I&#160;guess you'll have to hear her in person.</span></span></div>
<div style="margin: 0in 0in 10pt"><span style="font-size: small"><span>If you’re interested in my notes from Mary’s other WCBA session, visit: </span></span><span style="font-size: small"><a href="http://www.modernanalyst.com/Community/ModernAnalystBlog/tabid/181/articleType/ArticleView/articleId/1178/Dispatches-from-the-WCBA-Conference-Jogging-through-the-IIBA-BABOK.aspx"><span style="font-size: small">Jogging through the IIBA® BABOK® with the Requirements Roadmap</span></a></span></div>
<div style="margin: 0in 0in 0pt"><span style="font-size: small"><u><b>Useful Business Rules References</b></u><b>&#160;</b></span></div>
<div style="margin: 0in 0in 0pt"><span style="font-size: small">&#160;</span></div>
<div style="margin: 0in 0in 0pt"><span style="font-size: small"><strong>Book</strong>:&#160;</span><a href="http://www.modernanalyst.com/Resources/Books/tabid/88/articleType/ArticleView/articleId/1093/Business_Rule_Concepts.aspx"><span style="font-size: small">Business Rules Concepts</span></a><span style="font-size: small"> by Ronald Ross</span></div>
<div style="margin: 0in 0in 0pt"><span style="font-size: small"><strong>Article</strong>: </span><a target="_blank" rel="nofollow" href="http://ebgconsulting.com/Pubs/Articles/BusinessRulesAndDataRequirements-Gorman.pdf"><span style="font-size: small">Business Rules and Data Requirements </span></a><span style="font-size: small">by Mary Gorman</span></div>
<div style="margin: 0in 0in 0pt"><span style="font-size: small"><strong>Article</strong>: </span><a target="_blank" rel="nofollow" href="http://adtmag.com/Articles/2001/06/05/Turning-rules-into-requirements.aspx?Page=1"><span style="font-size: small">Turning Rules into Requirements</span></a><span style="font-size: small"> by Ellen Gottesdiener</span></div>
<div style="margin: 0in 0in 0pt"><span style="font-size: small"><strong>Interview</strong>: </span><a href="http://www.modernanalyst.com/Resources/Articles/tabid/115/articleType/ArticleView/articleId/1154/categoryId/90/What-Analysts-Need-to-Know-about-Decisioning-and-Business-Rules-Interview-with-Ronald-G-Ross.aspx"><span style="font-size: small">What Analysts Need to Know about Decisioning and Business Rules</span></a><span style="font-size: small">&#160;- Interview with Ronald G. Ross</span></div>
<div style="margin: 0in 0in 0pt"><span style="font-size: small">&#160;</span></div>
<div style="margin: 0in 0in 0pt"><span style="font-size: small"><b>Business Rules Manifesto</b>:&#160;The Principles of Rule Independence from the Business Rules Group</span></div>
</div>
<blockquote style="padding-left: 1em; margin: 1em 3em; border-left: #999 2px solid; color: #999">
<p style="text-align: center"><span style="font-size: small"><strong>The Business Rules Manifesto*</strong></span></p>
<p><span style="font-size: small"><strong>Article 1. Primary Requirements, Not Secondary</strong></span></p>
<p style="margin-left: 40px"><span style="font-size: small">1.1. Rules are a first-class citizen of the requirements world.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">1.2. Rules are essential for, and a discrete part of, business models and technology models.</span></p>
<p><span style="font-size: small"><strong>Article 2. Separate From Processes, Not Contained In Them </strong></span></p>
<p style="margin-left: 40px"><span style="font-size: small">2.1. Rules are explicit constraints on behavior and/or provide support to behavior.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">2.2. Rules are not process and not procedure. They should not be contained in either of these.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">2.3. Rules apply across processes and procedures. There should be one cohesive body of rules, enforced consistently across all relevant areas of business activity.</span></p>
<p><span style="font-size: small"><strong>Article 3. Deliberate Knowledge, Not A By-Product</strong></span></p>
<p style="margin-left: 40px"><span style="font-size: small">3.1. Rules build on facts, and facts build on concepts as expressed by terms.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">3.2. Terms express business concepts; facts make assertions about these concepts; rules constrain and support these facts.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">3.3. Rules must be explicit. No rule is ever assumed about any concept or fact.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">3.4. Rules are basic to what the business knows about itself -- that is, to basic business knowledge.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">3.5. Rules need to be nurtured, protected, and managed.</span></p>
<p><span style="font-size: small"><strong>Article 4. Declarative, Not Procedural </strong></span></p>
<p style="margin-left: 40px"><span style="font-size: small">4.1. Rules should be expressed declaratively in natural-language sentences for the business audience.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">4.2. If something cannot be expressed, then it is not a rule.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">4.3. A set of statements is declarative only if the set has no implicit sequencing.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">4.4. Any statements of rules that require constructs other than terms and facts imply assumptions about a system implementation.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">4.5. A rule is distinct from any enforcement defined for it. A rule and its enforcement are separate concerns.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">4.6. Rules should be defined independently of responsibility for the who, where, when, or how of their enforcement.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">4.7. Exceptions to rules are expressed by other rules.</span></p>
<p><span style="font-size: small"><strong>Article 5. Well-Formed Expression, Not Ad Hoc </strong></span></p>
<p style="margin-left: 40px"><span style="font-size: small">5.1. Business rules should be expressed in such a way that they can be validated for correctness by business people.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">5.2. Business rules should be expressed in such a way that they can be verified against each other for consistency.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">5.3. Formal logics, such as predicate logic, are fundamental to well-formed expression of rules in business terms, as well as to the technologies that implement business rules.</span></p>
<p><span style="font-size: small"><strong>Article 6. Rule-Based Architecture, Not Indirect Implementation </strong></span></p>
<p style="margin-left: 40px"><span style="font-size: small">6.1. A business rules application is intentionally built to accommodate continuous change in business rules. The platform on which the application runs should support such continuous change.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">6.2. Executing rules directly -- for example in a rules engine -- is a better implementation strategy than transcribing the rules into some procedural form.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">6.3. A business rule system must always be able to explain the reasoning by which it arrives at conclusions or takes action.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">6.4. Rules are based on truth values. How a rule’s truth value is determined or maintained is hidden from users.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">6.5. The relationship between events and rules is generally many-to-many.</span></p>
<p><span style="font-size: small"><strong>Article 7. Rule-Guided Processes, Not Exception-Based Programming </strong></span></p>
<p style="margin-left: 40px"><span style="font-size: small">7.1. Rules define the boundary between acceptable and unacceptable business activity.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">7.2. Rules often require special or selective handling of detected violations. Such rule violation activity is activity like any other activity.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">7.3. To ensure maximum consistency and reusability, the handling of unacceptable business activity should be separable from the handling of acceptable business activity.</span></p>
<p><span style="font-size: small"><strong>Article 8. For the Sake of the Business, Not Technology </strong></span></p>
<p style="margin-left: 40px"><span style="font-size: small">8.1. Rules are about business practice and guidance; therefore, rules are motivated by business goals and objectives and are shaped by various influences.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">8.2. Rules always cost the business something.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">8.3. The cost of rule enforcement must be balanced against business risks, and against business opportunities that might otherwise be lost.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">8.4. ‘More rules’ is not better. Usually fewer ‘good rules’ is better.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">8.5. An effective system can be based on a small number of rules. Additional, more discriminating rules can be subsequently added, so that over time the system becomes smarter.</span></p>
<p><span style="font-size: small"><strong>Article 9. Of, By, and For Business People, Not IT People </strong></span></p>
<p style="margin-left: 40px"><span style="font-size: small">9.1. Rules should arise from knowledgeable business people.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">9.2. Business people should have tools available to help them formulate, validate, and manage rules.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">9.3. Business people should have tools available to help them verify business rules against each other for consistency.</span></p>
<p><span style="font-size: small"><strong>Article 10. Managing Business Logic, Not Hardware/Software Platforms </strong></span></p>
<p style="margin-left: 40px"><span style="font-size: small">10.1. Business rules are a vital business asset.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">10.2. In the long run, rules are more important to the business than hardware/software platforms.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">10.3. Business rules should be organized and stored in such a way that they can be readily redeployed to new hardware/software platforms.</span></p>
<p style="margin-left: 40px"><span style="font-size: small">10.4. Rules, and the ability to change them effectively, are fundamental to improving business adaptability.</span></p>
<p><span style="font-size: small"><i>*Version 2.0, November 1, 2003. Edited by Ronald G. Ross.</i></span></p>
<p style="text-align: center"><span style="font-size: small">Copyright, 2006–2009. Business Rules Group.</span></p>
<p><span style="font-size: small"><i>Permission is granted for unlimited reproduction and distribution of this document under the following conditions: (a) The copyright and this permission notice are clearly included. (b) The work is clearly credited to the Business Rules Group. (c) No part of the document, including title, content, copyright, and permission notice, is altered, abridged, or extended in any manner.</i><br />
&#160;</span></p>
</blockquote><hr width="650px" />
<p>&#160;</p></description> 
    <dc:creator>Adrian M.</dc:creator> 
    <pubDate>Fri, 27 Nov 2009 06:31:00 GMT</pubDate> 
    <guid isPermaLink="false">f1397696-738c-4295-afcd-943feb885714:1190</guid> 
    
</item>
<item>
    <comments>https://modernanalyst.com/Community/ModernAnalystBlog/tabid/181/ID/1178/Dispatches-from-the-WCBA-Conference-Jogging-through-the-IIBA-BABOK.aspx#Comments</comments> 
    <slash:comments>1</slash:comments> 
    <wfw:commentRss>https://modernanalyst.com/DesktopModules/DnnForge%20-%20NewsArticles/RssComments.aspx?TabID=181&amp;ModuleID=870&amp;ArticleID=1178</wfw:commentRss> 
    <trackback:ping>https://modernanalyst.com:443/DesktopModules/DnnForge%20-%20NewsArticles/Tracking/Trackback.aspx?ArticleID=1178&amp;PortalID=0&amp;TabID=181</trackback:ping> 
    <title>Dispatches from the WCBA Conference: Jogging through the IIBA&#174; BABOK&#174; </title> 
    <link>https://modernanalyst.com/Community/ModernAnalystBlog/tabid/181/ID/1178/Dispatches-from-the-WCBA-Conference-Jogging-through-the-IIBA-BABOK.aspx</link> 
    <description>&lt;div style=&quot;margin: 0in 0in 10pt&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;Here’s a dispatch from the first day at the World Congress for Business Analysts (&lt;a target=&quot;_blank&quot; rel=&quot;nofollow&quot;  href=&quot;http://www.iirusa.com/projectworldnovember&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;WCBA&lt;/span&gt;&lt;/a&gt;).&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in 0in 10pt&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;I attended an all-day workshop titled “&lt;b&gt;Get the Right Stuff, Fast: Jogging through the IIBA&#174; BABOK&#174; with the Requirements Roadmap&lt;/b&gt;” lead by Mary Gorman of EBG Consulting.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in 0in 10pt&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;Mary is a Certified Business Analysis Professional™ (CBAP&#174;) and works as Senior Associated for EBG Consulting, assisting teams to build the right products through exploring and confirming their requirements.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in 0in 10pt&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;If Mary’s sessions was a jog, then this blog post will be a sprint – a very fast one, I might add!&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in 0in 10pt&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;The focus of the workshop was to:&lt;/span&gt;&lt;/div&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;span style=&quot;font-size: small&quot;&gt;Leverage the Requirements Roadmap to articulate requirements &lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span style=&quot;font-size: small&quot;&gt;Align requirements models to knowledge areas in the BABOK&#174; &lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span style=&quot;font-size: small&quot;&gt;Create a set of interconnected requirements models to speed up the requirements development and successfully engage business users and customers. &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 0in 0in 10pt&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;During the session, Mary provided great insights on the business of “business analysis” specifically focusing on defining the scope of and modeling user requirements using the requirements roadmap:&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in 0in 10pt&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;img height=&quot;417&quot; alt=&quot;&quot; hspace=&quot;10&quot; width=&quot;628&quot; vspace=&quot;5&quot; border=&quot;0&quot; src=&quot;/Portals/0/Public Uploads/ebg-req-roadmap.png&quot; /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in 0in 10pt&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;You can get the PDF version of the &lt;/span&gt;&lt;a target=&quot;_blank&quot; rel=&quot;nofollow&quot; href=&quot;http://www.ebgconsulting.com/Services/ReqtsRoadmap-EBG.pdf&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;requirements roadmap&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;font-size: small&quot;&gt; from EBG’s website.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in 0in 10pt&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;During the session we raced (ok, just jogged) through the roadmap with pointers to sections in the various BABOK&#174; knowledge areas:&lt;/span&gt;&lt;/div&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;span style=&quot;font-size: small&quot;&gt;Business Analysis Planning and Monitoring &lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span style=&quot;font-size: small&quot;&gt;Enterprise Analysis &lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span style=&quot;font-size: small&quot;&gt;Elicitation &lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span style=&quot;font-size: small&quot;&gt;Solution Assessment and Validation &lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span style=&quot;font-size: small&quot;&gt;Requirements Analysis &lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span style=&quot;font-size: small&quot;&gt;Requirements Management and Communication &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 0in 0in 10pt&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;Regardless of what methodology or techniques you use, Mary pointed out that it is important understand that we need to have a balanced perspective of the requirements through the lens of four fundamental model views:&lt;/span&gt;&lt;/div&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;b&gt;Behavior&lt;/b&gt;: e.g. process, action, function, task, script &lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;b&gt;Structure&lt;/b&gt;: e.g. information, data, object &lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;b&gt;Dynamics&lt;/b&gt;: e.g. time, lifecycles &lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;b&gt;Control&lt;/b&gt;: e.g. business rules &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 0in 0in 10pt&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;The session slide included a nice Vann diagram of the four models with the &lt;i&gt;control&lt;/i&gt; model being at the intersection of the &lt;i&gt;behavior&lt;/i&gt;, &lt;i&gt;structure&lt;/i&gt;, and &lt;i&gt;dynamics&lt;/i&gt; models.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in 0in 10pt&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;Jogging along… the session covered a number of techniques, including:&lt;/span&gt;&lt;/div&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;b&gt;Stakeholder &amp;amp; Actors&lt;/b&gt;: Customer vs. User vs. Others =&amp;gt; Ask: “Who?” &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;b&gt;Glossary &amp;amp; Data Model&lt;/b&gt;: &amp;#160;The building blocks for later constructs such as business rules =&amp;gt; Ask: “What?” &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;b&gt;Event-Response Tables&lt;/b&gt;: &amp;#160;An effective tool to elicit user requirements =&amp;gt; Ask: ”When?” &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;b&gt;Use Case &amp;amp; Scenarios&lt;/b&gt;: &amp;#160;Describe the flow of the actor-system interactions =&amp;gt; Ask: “How?” &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;span style=&quot;font-size: small&quot;&gt;&lt;b&gt;Business Policies &amp;amp; Business Rules&lt;/b&gt;: &amp;#160;Statements that constrain some aspect of the business =&amp;gt; Ask: “Why?” &lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div style=&quot;margin: 0in 0in 10pt&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;The practical side of the workshop was the case study which forced everyone to roll-out their sleeves and put in practice the techniques discussed.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in 0in 10pt&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;It was a cozy sessions with many chances for everybody to participate.&amp;#160;Most of the session attendees got a free copy of the &lt;/span&gt;&lt;u&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.modernanalyst.com/Resources/Books/tabid/88/articleType/ArticleView/articleId/776/The_Software_Requirements_Memory_Jogger_A_Pocket_Guide_to_Help_Software_And_Business_Teams_Develop_And_Manage_Requirements_Memory_Jogger.aspx&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;Software Requirements Memory Jogger&lt;/span&gt;&lt;/a&gt;&lt;/u&gt;&lt;span style=&quot;font-size: small&quot;&gt;.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in 0in 10pt&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;- Adrian&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;margin: 0in 0in 10pt&quot;&gt;&lt;span style=&quot;font-size: small&quot;&gt;Adrian Marchis&lt;br /&gt;
Publisher, ModernAnalyst.com&amp;#160;&lt;/span&gt;&lt;/div&gt;</description> 
    <dc:creator>Adrian M.</dc:creator> 
    <pubDate>Tue, 17 Nov 2009 08:55:00 GMT</pubDate> 
    <guid isPermaLink="false">f1397696-738c-4295-afcd-943feb885714:1178</guid> 
    
</item>
<item>
    <comments>https://modernanalyst.com/Community/ModernAnalystBlog/tabid/181/ID/436/The-Dirty-Harry-Approach-to-Requirements-or-Are-you-Feeling-Lucky-Punk-Solve-Problems-First-Ask-Questions-Later--Part-2.aspx#Comments</comments> 
    <slash:comments>0</slash:comments> 
    <wfw:commentRss>https://modernanalyst.com/DesktopModules/DnnForge%20-%20NewsArticles/RssComments.aspx?TabID=181&amp;ModuleID=870&amp;ArticleID=436</wfw:commentRss> 
    <trackback:ping>https://modernanalyst.com:443/DesktopModules/DnnForge%20-%20NewsArticles/Tracking/Trackback.aspx?ArticleID=436&amp;PortalID=0&amp;TabID=181</trackback:ping> 
    <title>The Dirty Harry Approach to Requirements, or “Are you Feeling Lucky, Punk?”  Solve Problems First, Ask Questions Later - Part 2</title> 
    <link>https://modernanalyst.com/Community/ModernAnalystBlog/tabid/181/ID/436/The-Dirty-Harry-Approach-to-Requirements-or-Are-you-Feeling-Lucky-Punk-Solve-Problems-First-Ask-Questions-Later--Part-2.aspx</link> 
    <description>&lt;div&gt;&lt;font face=&quot;Verdana&quot; size=&quot;2&quot;&gt;In &lt;/font&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://www.modernanalyst.com/Community/ModernAnalystBlog/tabid/181/articleType/ArticleView/articleId/2047/The-Dirty-Harry-Approach-to-Requirements-or-Are-you-Feeling-Lucky-Punk-Solve-Problems-First-Ask-Questions-Later-Part-1.aspx&quot;&gt;&lt;font face=&quot;Verdana&quot; size=&quot;2&quot;&gt;Part 1&lt;/font&gt;&lt;/a&gt;&lt;font face=&quot;Verdana&quot; size=&quot;2&quot;&gt;, we learned that the less precise things are, the easier it is to understand them. Thus the paradox: how do you get precise requirements and easy to understand requirements? &lt;br /&gt;
&lt;br /&gt;
According to the requirements gods and goddesses, there are fundamentally three levels of requirements ( you can break these down into more but that is another blog): &lt;br /&gt;
&lt;br /&gt;
1. Business Requirements- Why the project is being undertaken; &lt;br /&gt;
2. User Requirements- What users will be able to do with the product; &lt;br /&gt;
3. Software Requirements – What the developers need to build. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Take a look at the statements below: &lt;br /&gt;
&lt;br /&gt;
&lt;/font&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;font face=&quot;Verdana&quot; size=&quot;2&quot;&gt;Business Requirements are the easiest to understand, but the least precise; &lt;/font&gt;&lt;/li&gt;
    &lt;li&gt;&lt;font face=&quot;Verdana&quot; size=&quot;2&quot;&gt;User Requirements are more difficult to understand, however they are more precise than the Business Requirements; &lt;/font&gt;&lt;/li&gt;
    &lt;li&gt;&lt;font face=&quot;Verdana&quot; size=&quot;2&quot;&gt;Software Requirements are even more difficult to understand, yet they are the most precise. &lt;/font&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;font face=&quot;Verdana&quot; size=&quot;2&quot;&gt;The more perspectives you include, the more precise things get, and the less understandable things become. When we can no longer recognize where we are, we get lost and do not understand how we got there. &lt;br /&gt;
&lt;br /&gt;
When we were kids, and our parents would drive us to the market to go grocery shopping, (sometimes three or more times a week since we would forget stuff) we learned how to get to the grocery store. For us, this was a good 15-20 miles away. However, after a period of time, we knew how to get there in at least two different ways: Dad’s way, and Mom’s way. Still later, we learned the way Grandpa and Grandma went to the store; now we know three ways. &lt;br /&gt;
&lt;br /&gt;
One day Mom and I were on the way to the grocery store, and there was road construction. As we were waiting in the long line of backed up cars, I recognized the street Dad takes to the grocery store. I told Mom that we could get to the grocery store faster if we took Oak Street, and then State Street (I wanted my baseball cards, and my money was burning a hole in my pocket, like you would not believe). Mom looked over at me, very surprised, and said, “Good idea!” Off we went, thus now a 4th way to get to the grocery store. The key to solving our unexpected dilemma was that we had been to the store repeatedly, in different ways, opening up our options in a time of crisis. &lt;br /&gt;
&lt;br /&gt;
As a good BA, we should facilitate the business and IT through each of the requirement levels by showing repeatedly how we arrived there through tractability. &lt;br /&gt;
&lt;br /&gt;
Thus, developing a map on how to get from an easy understandable business requirements to user requirements, and ultimately to software requirements. People have a better chance of understanding with a map and if they do not, they should ask for a better map from the BA. &lt;br /&gt;
&lt;br /&gt;
The BA acts like a tour guide (a facilitator, not a leader or manager) through the maze of requirement levels. The BA should be guiding the Business and IT team through the requirements collaboratively, and allow the groups to discover the map on their own through the process. &lt;br /&gt;
&lt;br /&gt;
If you discover something through a process, you will understand it much deeper than if someone just told you. &lt;br /&gt;
&lt;br /&gt;
Requirements elicitation is a gathering process, and a learning process.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face=&quot;Verdana&quot; size=&quot;2&quot;&gt;If you do one without the other, you will play the “Do You Feel Lucky, Punk” Game in Part 1. So as you transition between each type of requirement, work through the transition collaboratively, in a facilitated process. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
So, do you feel lucky?&lt;/font&gt;&lt;/p&gt;
&lt;/div&gt;</description> 
    <dc:creator></dc:creator> 
    <pubDate>Wed, 02 Apr 2008 04:56:00 GMT</pubDate> 
    <guid isPermaLink="false">f1397696-738c-4295-afcd-943feb885714:436</guid> 
    
</item>
<item>
    <comments>https://modernanalyst.com/Community/ModernAnalystBlog/tabid/181/ID/438/The-Dirty-Harry-Approach-to-Requirements-or-Are-you-Feeling-Lucky-Punk-Solve-Problems-First-Ask-Questions-Later--Part-1.aspx#Comments</comments> 
    <slash:comments>1</slash:comments> 
    <wfw:commentRss>https://modernanalyst.com/DesktopModules/DnnForge%20-%20NewsArticles/RssComments.aspx?TabID=181&amp;ModuleID=870&amp;ArticleID=438</wfw:commentRss> 
    <trackback:ping>https://modernanalyst.com:443/DesktopModules/DnnForge%20-%20NewsArticles/Tracking/Trackback.aspx?ArticleID=438&amp;PortalID=0&amp;TabID=181</trackback:ping> 
    <title>The Dirty Harry Approach to Requirements, or “Are you Feeling Lucky, Punk?”  Solve Problems First, Ask Questions Later - Part 1</title> 
    <link>https://modernanalyst.com/Community/ModernAnalystBlog/tabid/181/ID/438/The-Dirty-Harry-Approach-to-Requirements-or-Are-you-Feeling-Lucky-Punk-Solve-Problems-First-Ask-Questions-Later--Part-1.aspx</link> 
    <description>&lt;div&gt;&lt;font face=&quot;Verdana&quot; size=&quot;2&quot;&gt;Have you ever had to use a map to get somewhere, and after navigating around the wilderness for hours, eventually had to ask for directions because it failed you?&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=&quot;Verdana&quot; size=&quot;2&quot;&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=&quot;Verdana&quot; size=&quot;2&quot;&gt;Alternatively, have you ever read directions to assemble a toy, and rather than help you, the directions made things much more complicated?&amp;#160;Perhaps you just figured it out on your own, without the directions.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=&quot;Verdana&quot; size=&quot;2&quot;&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=&quot;Verdana&quot; size=&quot;2&quot;&gt;This is what some BA’s and IT folks do all the time.&amp;#160;They get understandable Business Requirements in hand, the bugle sounds, and IT is immediately restless in the starting gate.&amp;#160;And they are off!&amp;#160;Who will be the first IT hero to come up with a solution or the code which business will say yes!&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=&quot;Verdana&quot; size=&quot;2&quot;&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=&quot;Verdana&quot; size=&quot;2&quot;&gt;In this kind of a race, there is never a finish line.&amp;#160;The race will go on forever until all of the problems are solved; and in fact some of the problems are the results of other solutions.&amp;#160;Finally, someone in IT draws a white line in the sand (creates a functional Design Document or something) and says to the business, &#39;is this ok?&#39;&amp;#160;If the business agrees, then the race is over.&amp;#160;Now it&#39;s time for the next game.&amp;#160;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=&quot;Verdana&quot; size=&quot;2&quot;&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=&quot;Verdana&quot; size=&quot;2&quot;&gt;Now we play a game of tag.&amp;#160;The IT group starts coding the solution.&amp;#160;After a while, an issue comes up and the IT folks tag a businessperson.&amp;#160;“You&#39;re it”, say the IT folks.&amp;#160;“When you have an answer, let us know.” &amp;#160;(Back to Doom 10)&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=&quot;Verdana&quot; size=&quot;2&quot;&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=&quot;Verdana&quot; size=&quot;2&quot;&gt;The businessperson comes back with an answer, and now the IT folks are tagged.&amp;#160;This goes on until all of IT‘s questions are answered, or the business gets frustrated to a point and says, “Just do something.”&amp;#160;As a result, someone in IT or the business erases the white line from the first game, and redraws the white line somewhere else.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=&quot;Verdana&quot; size=&quot;2&quot;&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=&quot;Verdana&quot;&gt;&lt;font size=&quot;2&quot;&gt;Now if you’re lucky, the BA is so annoyed by this, that they says to IT, “Let&#39;s just get more precise requirements.&amp;#160;The IT folks say no way.&amp;#160;The business is already ticked off, and talking to them again will only tick them off more.&amp;#160;We cannot start over, we must use what we have, and you need to sell it to them (or shove it down their throat) and make them like it.&amp;#160;Speak their language; and it should be easy.&lt;span&gt;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=&quot;Verdana&quot; size=&quot;2&quot;&gt;&amp;#160;&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;&lt;font face=&quot;Verdana&quot; size=&quot;2&quot;&gt;Therefore, the BA starts selling the solution (after finishing up his/her resume).&amp;#160;This is where &#39;Do you feel lucky&#39; comes in to play.&amp;#160;We all know what happens from there.&amp;#160;A two month project takes 1 &#189; years and costs $1.5 million dollars and a death march.&lt;/font&gt;&lt;/div&gt;
&lt;div&gt;
&lt;p&gt;&lt;font face=&quot;Verdana&quot; size=&quot;2&quot;&gt;The examples above are about being precise and understandability.&amp;#160;Jonathan Babcock wrote a great article in his blog titled &lt;/font&gt;&lt;a href=&quot;http://jonathanbabcock.com/2007/12/18/good-requirements-are-more-than-just-accurate/&quot;&gt;&lt;font face=&quot;Verdana&quot; size=&quot;2&quot;&gt;Good Requirements Are More Than Just Accurate&lt;/font&gt;&lt;/a&gt;&lt;font face=&quot;Verdana&quot;&gt;&lt;font size=&quot;2&quot;&gt;.&amp;#160;This is a great article; take the time to read it.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;p&gt;&lt;font face=&quot;Verdana&quot; size=&quot;2&quot;&gt;Now, since I got out all of my pent up aggression, I need a week to recover.&amp;#160;Next time we will look at how we get precise and understandable requirements, and stop the games above.&lt;/font&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;div&gt;&lt;font face=&quot;Verdana&quot; size=&quot;2&quot;&gt;By the way, I really do like IT folks.&amp;#160;It&#39;s just that sometimes I don&#39;t like the way they do things.&amp;#160;Ok, sometimes I hate the way they do things.&amp;#160;In most cases, though, the IT folks are just trying to help the business, and that honorable intention is what gets us all in trouble some times.&lt;/font&gt;&lt;/div&gt;</description> 
    <dc:creator></dc:creator> 
    <pubDate>Thu, 20 Mar 2008 05:03:00 GMT</pubDate> 
    <guid isPermaLink="false">f1397696-738c-4295-afcd-943feb885714:438</guid> 
    
</item>
<item>
    <comments>https://modernanalyst.com/Community/ModernAnalystBlog/tabid/181/ID/547/More-on-how-to-deal-with-bad-requirements.aspx#Comments</comments> 
    <slash:comments>0</slash:comments> 
    <wfw:commentRss>https://modernanalyst.com/DesktopModules/DnnForge%20-%20NewsArticles/RssComments.aspx?TabID=181&amp;ModuleID=870&amp;ArticleID=547</wfw:commentRss> 
    <trackback:ping>https://modernanalyst.com:443/DesktopModules/DnnForge%20-%20NewsArticles/Tracking/Trackback.aspx?ArticleID=547&amp;PortalID=0&amp;TabID=181</trackback:ping> 
    <title>More on how to deal with bad requirements</title> 
    <link>https://modernanalyst.com/Community/ModernAnalystBlog/tabid/181/ID/547/More-on-how-to-deal-with-bad-requirements.aspx</link> 
    <description>&lt;p&gt;&lt;font face=&quot;Verdana&quot; size=&quot;2&quot;&gt;After posting my &lt;/font&gt;&lt;a href=&quot;/Community/Blogs/tabid/78/EntryID/7/Default.aspx&quot;&gt;&lt;u&gt;&lt;font face=&quot;Verdana&quot; color=&quot;#606420&quot; size=&quot;2&quot;&gt;last entry&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font face=&quot;Verdana&quot; size=&quot;2&quot;&gt; on questioning suspect requirements, I&#39;ve read a great piece on the SlickEdit blog titled &quot;&lt;/font&gt;&lt;a target=&quot;_blank&quot; href=&quot;http://blog.slickedit.com/?p=63&quot;&gt;&lt;u&gt;&lt;font face=&quot;Verdana&quot; color=&quot;#606420&quot; size=&quot;2&quot;&gt;How to Design Software With Bad Requirements&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font face=&quot;Verdana&quot; size=&quot;2&quot;&gt;.&quot; &lt;br /&gt;
&lt;br /&gt;
Scott offers some practical tips to help developers deal with bad requirements. These also apply very well to business analysts and systems analysts: &lt;br /&gt;
&lt;/font&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;font face=&quot;Verdana&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;strong&gt;come up with good use cases&lt;/strong&gt; - to help the business user visualize the system or process scenarios which do not make sense, &lt;/font&gt;&lt;/font&gt;&lt;/li&gt;
    &lt;li&gt;&lt;font face=&quot;Verdana&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;strong&gt;create a prototype&lt;/strong&gt; - if the end user&#39;s request can be modeled using a UI prototype, do so - they may see the light, &lt;/font&gt;&lt;/font&gt;&lt;/li&gt;
    &lt;li&gt;&lt;font face=&quot;Verdana&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;strong&gt;abstract and encapsulate&lt;/strong&gt; - assume that these requirements will change eventually and design your system in such a way to be able to easily modify it in the future, &lt;/font&gt;&lt;/font&gt;&lt;/li&gt;
    &lt;li&gt;&lt;font face=&quot;Verdana&quot;&gt;&lt;font size=&quot;2&quot;&gt;&lt;strong&gt;don&#39;t get discouraged&lt;/strong&gt; - keep your spirits up and make the best out of the situation.&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;
&lt;/ul&gt;</description> 
    <dc:creator>Adrian M.</dc:creator> 
    <pubDate>Sun, 24 Jun 2007 02:26:00 GMT</pubDate> 
    <guid isPermaLink="false">f1397696-738c-4295-afcd-943feb885714:547</guid> 
    
</item>

    </channel>
</rss>